﻿using System;
using System.Collections.Generic;
using System.Windows;
using AnnoDesigner.Core.Models;
using AnnoDesigner.Models;
using NLog;

namespace AnnoDesigner.Localization
{
    public class Localization : Notify, ILocalizationHelper
    {
        private static readonly Logger _logger = LogManager.GetCurrentClassLogger();

        private ICommons _commons;

        #region ctor

        private static readonly Lazy<Localization> lazy = new Lazy<Localization>(() => new Localization());

        public static Localization Instance
        {
            get { return lazy.Value; }
        }

        static Localization()
        {
            if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject()))
            {
                Init(Commons.Instance);
            }
        }

        private Localization() { }

        #endregion

        private static IDictionary<string, IDictionary<string, string>> TranslationsRaw { get; set; }

        private string SelectedLanguageCode => _commons.CurrentLanguageCode;

        public static IDictionary<string, string> Translations => TranslationsRaw[Instance.SelectedLanguageCode];

        public IDictionary<string, string> InstanceTranslations => Translations;

        public static void Init(ICommons commons)
        {
            if (TranslationsRaw != null)
            {
                return;
            }

            //This dictionary initialisation was auto-generated from:
            //https://docs.google.com/spreadsheets/d/1CjECty43mkkm1waO4yhQl1rzZ-ZltrBgj00aq-WJX4w/edit?usp=sharing 
            //See the "Help" sheet for details on how to export the dictionary.
            TranslationsRaw = new Dictionary<string, IDictionary<string, string>>()
            {
                ["eng"] = new Dictionary<string, string>()
                {
                    ["File"] = "File",
                    ["NewCanvas"] = "New canvas",
                    ["Open"] = "Open",
                    ["Save"] = "Save",
                    ["SaveAs"] = "Save as",
                    ["CopyLayoutToClipboard"] = "Copy layout to clipboard as JSON",
                    ["LoadLayoutFromJson"] = "Load layout from JSON",
                    ["Exit"] = "Exit",
                    ["Extras"] = "Extras",
                    ["Normalize"] = "Normalize",
                    ["ResetZoom"] = "Reset zoom",
                    ["RegisterFileExtension"] = "Register file extension",
                    ["RegisterFileExtensionSuccessful"] = "Registration of file extension was successful.",
                    ["UnregisterFileExtension"] = "Unregister file extension",
                    ["UnregisterFileExtensionSuccessful"] = "Deregistration of file extension was successful.",
                    ["Successful"] = "Successful",
                    ["Export"] = "Export",
                    ["ExportImage"] = "Export image",
                    ["UseCurrentZoomOnExportedImage"] = "Use current zoom on exported image",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Render selection highlights on exported image",
                    ["Language"] = "Language",
                    ["ManageStats"] = "Manage Stats",
                    ["ShowStats"] = "Show stats",
                    ["BuildingCount"] = "Building count",
                    ["Help"] = "Help",
                    ["Version"] = "Version",
                    ["FileVersion"] = "File Version",
                    ["PresetsVersion"] = "Presets Version",
                    ["CheckForUpdates"] = "Check for updates",
                    ["VersionCheckErrorMessage"] = $"Error checking version.{Environment.NewLine}More information can be found in the log.",
                    ["VersionCheckErrorTitle"] = "Version check failed.",
                    ["EnableAutomaticUpdateCheck"] = "Enable automatic update check on startup",
                    ["ContinueCheckingForUpdates"] = $"Do you want to continue checking for a new version on startup?{Environment.NewLine}{Environment.NewLine}This option can be changed via Tools -> Preferences -> Update Settings.",
                    ["ContinueCheckingForUpdatesTitle"] = "Continue checking for updates?",
                    ["GoToProjectHomepage"] = "Go to project homepage",
                    ["OpenWelcomePage"] = "Open Welcome page",
                    ["AboutAnnoDesigner"] = "About Anno Designer",
                    ["ShowGrid"] = "Show Grid",
                    ["ShowLabels"] = "Show Labels",
                    ["ShowIcons"] = "Show Icons",
                    ["ShowTrueInfluenceRange"] = "Show True Influence Range",
                    ["ShowInfluences"] = "Show Influences",
                    ["BuildingSettings"] = "Building Settings",
                    ["Size"] = "Size",
                    ["Color"] = "Color",
                    ["Label"] = "Label",
                    ["Icon"] = "Icon",
                    ["InfluenceType"] = "Influence Type",
                    ["None"] = "None",
                    ["Radius"] = "Radius",
                    ["Range"] = "Range",
                    ["Distance"] = "Distance",
                    ["Both"] = "Both",
                    ["PavedStreet"] = "Paved Street",
                    ["PavedStreetWarningTitle"] = "Paved Street Selection",
                    ["PavedStreetToolTip"] = $"Checking this option will change the Influence Range for buildings, {Environment.NewLine}representing the increased range they receive when using paved streets.{Environment.NewLine}Use the 'Place Building' button to place an object.",
                    ["Options"] = "Options",
                    ["EnableLabel"] = "Enable label",
                    ["Borderless"] = "Borderless",
                    ["Road"] = "Road",
                    ["PlaceBuilding"] = "Place building",
                    ["Search"] = "Filter",
                    ["SearchToolTip"] = "ESC to clear search text",
                    ["SearchPlaceholder"] = "Type the name of a building here",
                    ["TitleAbout"] = "About",
                    ["BuildingLayoutDesigner"] = "A building layout designer for Ubisofts Anno-series",
                    ["Credits"] = "Credits",
                    ["OriginalApplicationBy"] = "Original application by",
                    ["BuildingPresets"] = "Building presets",
                    ["CombinedForAnnoVersions"] = "Combined building presets for",
                    ["AdditionalChanges"] = "Additional changes by contributors on Github",
                    ["ManyThanks"] = "Many thanks to all the users who contributed to this project!",
                    ["VisitTheFandom"] = "Be sure to visit the Fandom pages for Anno!",
                    ["OriginalHomepage"] = "Original homepage",
                    ["ProjectHomepage"] = "Project homepage",
                    ["GoToFandom"] = "Go to Fandom",
                    ["Close"] = "Close",
                    ["StatusBarControls"] = "Mouse controls: left - place, select, move // right - stop placement, remove // both - move all // double click - copy // wheel - zoom // wheel-click - rotate.",
                    ["StatusBarItemsOnClipboard"] = "Items on clipboard",
                    ["StatNothingPlaced"] = "Nothing placed",
                    ["StatBoundingBox"] = "Bounding Box",
                    ["StatMinimumArea"] = "Minimum Area",
                    ["StatSpaceEfficiency"] = "Space Efficiency",
                    ["StatBuildings"] = "Buildings",
                    ["StatBuildingsSelected"] = "Buildings selected",
                    ["StatTiles"] = "Tiles",
                    ["StatNameNotFound"] = "Building name not found",
                    ["UnknownObject"] = "Unknown object",
                    ["PresetsLoaded"] = "Building presets loaded",
                    ["ExportImageSuccessful"] = "Image was successfully exported.",
                    ["ExportImageError"] = "Something went wrong while exporting the image.",
                    ["ApplyColorToSelection"] = "Apply color",
                    ["ApplyColorToSelectionToolTip"] = "Apply color to all buildings in current selection",
                    ["ApplyPredefinedColorToSelection"] = "Apply predefined color",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Apply predefined color (if found) to all buildings in current selection",
                    ["AvailableColors"] = "Available Colors",
                    ["StandardColors"] = "Predefined Colors",
                    ["RecentColors"] = "Recent used colors",
                    ["Standard"] = "Standard",
                    ["Advanced"] = "Advanced",
                    ["UpdateAvailableHeader"] = "Update available",
                    ["UpdateAvailablePresetMessage"] = $"An updated version of the preset file is available.{Environment.NewLine}Do you want to download it and restart the application?",
                    ["AdminRightsRequired"] = "Admin rights required",
                    ["UpdateRequiresAdminRightsMessage"] = "To download the update the application needs write access. Please provide credentials.",
                    ["Error"] = "Error",
                    ["UpdateErrorPresetMessage"] = "There was an error installing the update.",
                    ["UpdateNoConnectionMessage"] = "Could not establish a connection to the internet.",
                    ["ColorsInLayout"] = "Colors in Layout",
                    ["ColorsInLayoutToolTip"] = "Double click color to select it",
                    ["LoadLayoutHeader"] = "Load Layout",
                    ["LoadLayoutMessage"] = "Please paste the JSON string below.",
                    ["ClipboardContainsLayoutAsJson"] = "Clipboard contains current layout as JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Cancel",
                    ["SelectAll"] = "Select all",
                    ["Tools"] = "Tools",
                    ["Preferences"] = "Preferences",
                    ["ResetAllConfirmationMessage"] = "Are you sure you want to reset all hotkeys to their defaults?",
                    ["ResetAll"] = "Reset All",
                    ["UpdateSettings"] = "Update Settings",
                    ["ManageKeybindings"] = "Manage Keybindings",
                    ["Edit"] = "Edit",
                    ["Recording"] = "Recording",
                    ["RecordANewAction"] = "Record a new action",
                    ["Rotate"] = "Rotate",
                    ["Copy"] = "Copy",
                    ["Paste"] = "Paste",
                    ["Delete"] = "Delete",
                    ["Duplicate"] = "Duplicate",
                    ["RotateAll"] = "Rotate all",
                    ["DeleteObjectUnderCursor"] = "Delete object under cursor",
                    ["Licenses"] = "Licenses",
                    ["ViewLicenses"] = "View open source licenses",
                    ["ExternalLinkConfirmationMessage"] = "This will open a new tab in your default web browser. Continue?",
                    ["ExternalLinkMessageTitle"] = "Opening an external link",
                    ["RecentFiles"] = "Recent Files",
                    ["UpdatePreferencesVersionInformation"] = "Version Information",
                    ["UpdatePreferencesSettings"] = "Settings",
                    ["UpdatePreferencesCheckPreRelease"] = "Check for pre-releases",
                    ["UpdatePreferencesUpdates"] = "Updates",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Download Presets and restart application",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "A new update is available! Please check the website for release notes.",
                    ["UpdatePreferencesNoUpdates"] = "This version is up to date.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Error checking for updates.",
                    ["UpdatePreferencesMoreInfoInLog"] = "More information is found in the log.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "A new update for the Presets is available!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Checking for updates ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Downloading Presets ...",
                    ["NoIcon"] = "No icon",
                    ["GeneralSettings"] = "General Settings",
                    ["GeneralPreferencesUISettings"] = "UI Settings",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Hide influence on selection",
                    ["GeneralPreferencesUseZoomToPoint"] = "Use new zoom behaviour",
                    ["GeneralPreferencesGridLinesColor"] = "Grid line color",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Border color",
                    ["GeneralPreferencesZoomSensitivity"] = "Zoom sensitivity",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Invert scrolling direction",
                    ["GeneralPreferencesInvertPanningDirection"] = "Invert panning direction",
                    ["GeneralPreferencesShowScrollbars"] = "Show scrollbars",
                    ["ColorTypeDefault"] = "Default",
                    ["ColorTypeLight"] = "Light",
                    ["ColorTypeCustom"] = "Custom",
                    ["Warning"] = "Warning",
                    ["FileNotFound"] = "The file was not found.",
                    ["Default"] = "Default",
                    ["ItemsCopied"] = "items copied",
                    ["ItemCopied"] = "item copied",
                    ["LoadingPresetsFailed"] = "Loading of the building presets failed.",
                    ["LoadingIconNamesFailed"] = "Loading of the icon names failed.",
                    ["FileVersionUnsupportedMessage"] = $"Try loading anyway?{Environment.NewLine}This is very likely to fail or result in strange things happening.",
                    ["FileVersionUnsupportedTitle"] = "File version unsupported",
                    ["IOErrorMessage"] = "Something went wrong while saving/loading file.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Another instance of the app is already running.",
                    ["ErrorUpgradingSettings"] = "The settings file has become corrupted. We must reset your settings.",
                    ["FileVersionMismatchMessage"] = $"Try loading anyway?{Environment.NewLine}This is very likely to fail or result in strange things happening.",
                    ["FileVersionMismatchTItle"] = "File version mismatch",
                    ["LayoutLoadingError"] = "Something went wrong while loading the layout.",
                    ["LayoutSavingError"] = "Something went wrong while saving the layout.",
                    ["InvalidBuildingConfiguration"] = "Invalid building configuration.",
                    ["MergeRoads"] = "Merge roads",
                    ["LoadingTreeLocalizationFailed"] = "Loading of the localization failed.",
                    ["Undo"] = "Undo",
                    ["Redo"] = "Redo",
                    ["LayoutSettings"] = "Layout Settings",
                    ["View"] = "View",
                    ["SaveUnsavedChanges"] = "Save unsaved changes?",
                    ["UnsavedChanged"] = "There are unsaved changes",
                    ["UnsavedChangedBeforeCrash"] = "Program crashed but there are unsaved changes",
                    ["ColorPresetsVersion"] = "Color Presets Version",
                    ["TreeLocalizationVersion"] = "Tree Localization Version",
                    ["ShowHarborBlockedArea"] = "Show Harbor Areas",
                    ["ShowPanorama"] = "Show Panorama",
                    ["GeneralPreferencesRecentFilesSettings"] = "Recent Files Settings",
                    ["GeneralPreferencesMaxRecentFiles"] = "Maximum Recent Files",
                    ["Clear"] = "Clear",
                    ["EnableDebugMode"] = "Enable Debug Mode",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Include roads in statistics",
                    ["ShowMultipleInstanceWarning"] = "Show warning if multiple instances are open",
                    ["WarningMultipleInstancesAreRunning"] = "There is an update, but the app is open multiple times. Close all instances and start just 1 instance to allow the update to work.",
                    ["SelectAllSameIdentifier"] = "Select all buildings of same type",
                    ["RenderVersionOnExportedImage"] = "Render version on exported image"
                },
                ["ger"] = new Dictionary<string, string>()
                {
                    ["File"] = "Datei",
                    ["NewCanvas"] = "Neue Oberfläche",
                    ["Open"] = "Öffnen",
                    ["Save"] = "Speichern",
                    ["SaveAs"] = "Speichern unter",
                    ["CopyLayoutToClipboard"] = "Layout als JSON in die Zwischenablage kopieren",
                    ["LoadLayoutFromJson"] = "Layout aus JSON laden",
                    ["Exit"] = "Beenden",
                    ["Extras"] = "Extras",
                    ["Normalize"] = "Normalisieren",
                    ["ResetZoom"] = "Zoom zurücksetzen",
                    ["RegisterFileExtension"] = "Dateierweiterung registrieren",
                    ["RegisterFileExtensionSuccessful"] = "Dateierweiterung wurde erfolgreich registriert.",
                    ["UnregisterFileExtension"] = "Dateierweiterung entfernen",
                    ["UnregisterFileExtensionSuccessful"] = "Registrierung der Dateierweiterung wurde entfernt.",
                    ["Successful"] = "Erfolg",
                    ["Export"] = "Exportieren",
                    ["ExportImage"] = "Exportiere Bild / Speichere als Bild",
                    ["UseCurrentZoomOnExportedImage"] = "Wende aktuellen Zomm auf exportiertes Bild an",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Exportiere Bild mit Selektionen",
                    ["Language"] = "Sprache",
                    ["ManageStats"] = "Statistiken verwalten",
                    ["ShowStats"] = "Statistiken (an)zeigen",
                    ["BuildingCount"] = "Anzahl der Gebäude",
                    ["Help"] = "Hilfe",
                    ["Version"] = "Version",
                    ["FileVersion"] = "Dateiversion",
                    ["PresetsVersion"] = "Vorlagenversion",
                    ["CheckForUpdates"] = "Auf Updates prüfen",
                    ["VersionCheckErrorMessage"] = $"Etwas ist bei der Updateprüfung schiefgegangen.{Environment.NewLine}Weitere Informationen finden Sie im Protokoll.",
                    ["VersionCheckErrorTitle"] = "Updateprüfung fehlgeschlagen.",
                    ["EnableAutomaticUpdateCheck"] = "Automatische Updateprüfung beim Start aktivieren",
                    ["ContinueCheckingForUpdates"] = $"Möchten Sie beim Start weiterhin nach einer neuen Version suchen?{Environment.NewLine}{Environment.NewLine}Diese Option kann über Werkzeuge -> Einstellungen -> Updates geändert werden.",
                    ["ContinueCheckingForUpdatesTitle"] = "Weiter nach Aktualisierungen suchen?",
                    ["GoToProjectHomepage"] = "Gehe zu Projekt Webseite",
                    ["OpenWelcomePage"] = "Willkommensseite öffnen",
                    ["AboutAnnoDesigner"] = "über Anno Designer",
                    ["ShowGrid"] = "Raster/Gitter (an)zeigen",
                    ["ShowLabels"] = "Bezeichnungen (an)zeigen",
                    ["ShowIcons"] = "Symbol (an)zeigen",
                    ["ShowTrueInfluenceRange"] = "Wahren Einflussbereich anzeigen",
                    ["ShowInfluences"] = "Einflüsse anzeigen",
                    ["BuildingSettings"] = "Gebäude Optionen",
                    ["Size"] = "Größe",
                    ["Color"] = "Farbe",
                    ["Label"] = "Bezeichnung",
                    ["Icon"] = "Zeichen/Icon",
                    ["InfluenceType"] = "Einflusstyp",
                    ["None"] = "Keine",
                    ["Radius"] = "Radius",
                    ["Range"] = "Bereich",
                    ["Distance"] = "Entfernung",
                    ["Both"] = "Beide",
                    ["PavedStreet"] = "Gepflasterte Straße",
                    ["PavedStreetWarningTitle"] = "Auswahl der gepflasterten Straße",
                    ["PavedStreetToolTip"] = $"Wenn Sie diese Option aktivieren, wird der Einflussbereich für Gebäude geändert,{Environment.NewLine}die die erhöhte Reichweite darstellen, die sie bei der Nutzung gepflasterter Straßen erhalten.{Environment.NewLine}Verwenden Sie die Schaltfläche 'Gebäude platzieren', um ein Objekt zu platzieren.",
                    ["Options"] = "Optionen",
                    ["EnableLabel"] = "Bezeichnung aktivieren",
                    ["Borderless"] = "Randlos",
                    ["Road"] = "Straße",
                    ["PlaceBuilding"] = "Gebäude platzieren",
                    ["Search"] = "Filtern",
                    ["SearchToolTip"] = "ESC um Suchtext zu leeren",
                    ["SearchPlaceholder"] = "Geben Sie hier den Namen eines Gebäudes ein",
                    ["TitleAbout"] = "Über",
                    ["BuildingLayoutDesigner"] = "Ein Gebäudelayout Designer für Ubisofts Anno Reihe",
                    ["Credits"] = "Credits",
                    ["OriginalApplicationBy"] = "Ursprüngliche Anwendung von",
                    ["BuildingPresets"] = "Gebäudevorlagen",
                    ["CombinedForAnnoVersions"] = "Zusammengefügte Gebäudevorlagen für",
                    ["AdditionalChanges"] = "Weitere Änderungen von Beitragenden auf Github",
                    ["ManyThanks"] = "Vielen Dank an alle, die an diesem Projekt mitgeholfen haben!",
                    ["VisitTheFandom"] = "Besuche auch die Fandom Seiten von Anno!",
                    ["OriginalHomepage"] = "Original Webseite",
                    ["ProjectHomepage"] = "Projekt Webseite",
                    ["GoToFandom"] = "Fandom Seite",
                    ["Close"] = "Schließen",
                    ["StatusBarControls"] = "Maussteuerung: Links - Platzieren, Auswählen, Verschieben // Rechts - Platzieren stoppen // Beide - Alle verschieben // Doppelklicken - Kopieren // Rad Zoom // Klickrad - Drehen",
                    ["StatusBarItemsOnClipboard"] = "Elemente in der Zwischenablage",
                    ["StatNothingPlaced"] = "Nichts platziert",
                    ["StatBoundingBox"] = "Begrenzungsbox",
                    ["StatMinimumArea"] = "Minimale Fläche",
                    ["StatSpaceEfficiency"] = "Raumeffizienz",
                    ["StatBuildings"] = "Gebäude",
                    ["StatBuildingsSelected"] = "Ausgewählte Gebäude",
                    ["StatTiles"] = "Kacheln",
                    ["StatNameNotFound"] = "Gebäudename nicht gefunden",
                    ["UnknownObject"] = "Unbekanntes Objekt",
                    ["PresetsLoaded"] = "Gebäudevorlagen geladen",
                    ["ExportImageSuccessful"] = "Das Bild wurde erfolgreich exportiert.",
                    ["ExportImageError"] = "Beim Exportieren des Bildes ging etwas schief.",
                    ["ApplyColorToSelection"] = "Farbe anwenden",
                    ["ApplyColorToSelectionToolTip"] = "Farbe auf alle Gebäude in der aktuellen Auswahl anwenden",
                    ["ApplyPredefinedColorToSelection"] = "Vordefinierte Farbe anwenden",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Vordefinierte Farbe (falls gefunden) auf alle Gebäude in der aktuellen Auswahl anwenden.",
                    ["AvailableColors"] = "Verfügbare Farben",
                    ["StandardColors"] = "Vordefinierte Farben",
                    ["RecentColors"] = "Zuletzt verwendete Farben",
                    ["Standard"] = "Standard",
                    ["Advanced"] = "Erweitert",
                    ["UpdateAvailableHeader"] = "Update verfügbar",
                    ["UpdateAvailablePresetMessage"] = $"Eine aktualisierte Version der Vorlagen ist verfügbar.{Environment.NewLine}Möchten Sie sie herunterladen und die Anwendung neu starten?",
                    ["AdminRightsRequired"] = "Admin-Rechte erforderlich",
                    ["UpdateRequiresAdminRightsMessage"] = "Um das Update herunterzuladen, benötigt die Anwendung Schreibzugriff. Bitte geben Sie die Zugangsdaten an.",
                    ["Error"] = "Fehler",
                    ["UpdateErrorPresetMessage"] = "Es gab einen Fehler bei der Installation des Updates.",
                    ["UpdateNoConnectionMessage"] = "Es konnte keine Verbindung zum Internet hergestellt werden.",
                    ["ColorsInLayout"] = "Farben im Layout",
                    ["ColorsInLayoutToolTip"] = "Doppelklicken Sie auf die Farbe, um sie auszuwählen.",
                    ["LoadLayoutHeader"] = "Layout laden",
                    ["LoadLayoutMessage"] = "Bitte fügen Sie die JSON-Zeichenkette unten ein.",
                    ["ClipboardContainsLayoutAsJson"] = "Die Zwischenablage enthält das aktuelle Layout als JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Abbrechen",
                    ["SelectAll"] = "Alle auswählen",
                    ["Tools"] = "Werkzeuge",
                    ["Preferences"] = "Einstellungen",
                    ["ResetAllConfirmationMessage"] = "Sind Sie sicher, dass Sie alle Tastenkombinationen auf ihre Standardeinstellungen zurücksetzen möchten?",
                    ["ResetAll"] = "Alle zurücksetzen",
                    ["UpdateSettings"] = "Updates",
                    ["ManageKeybindings"] = "Tastenkombinationen",
                    ["Edit"] = "Bearbeiten",
                    ["Recording"] = "Aufzeichnung",
                    ["RecordANewAction"] = "Eine neue Aktion aufzeichnen",
                    ["Rotate"] = "Drehen",
                    ["Copy"] = "Kopieren",
                    ["Paste"] = "Einfügen",
                    ["Delete"] = "Löschen",
                    ["Duplicate"] = "Duplikat",
                    ["RotateAll"] = "Alle drehen",
                    ["DeleteObjectUnderCursor"] = "Objekt unter Mauszeiger löschen",
                    ["Licenses"] = "Lizenzen",
                    ["ViewLicenses"] = "Open-Source-Lizenzen anzeigen",
                    ["ExternalLinkConfirmationMessage"] = "Dadurch wird ein neuer Tab in Ihrem Standard-Webbrowser geöffnet. Fortfahren?",
                    ["ExternalLinkMessageTitle"] = "Einen externen Link öffnen",
                    ["RecentFiles"] = "Zuletzt geöffnete Dateien",
                    ["UpdatePreferencesVersionInformation"] = "Versions-Informationen",
                    ["UpdatePreferencesSettings"] = "Einstellungen",
                    ["UpdatePreferencesCheckPreRelease"] = "Auf Vorabveröffentlichungen prüfen",
                    ["UpdatePreferencesUpdates"] = "Updates",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Vorlagen herunterladen und Anwendung neu starten",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "Ein neues Update ist verfügbar! Bitte schauen Sie auf der Website nach Versionshinweisen.",
                    ["UpdatePreferencesNoUpdates"] = "Diese Version ist auf dem neuesten Stand.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Fehler beim Prüfen auf Updates.",
                    ["UpdatePreferencesMoreInfoInLog"] = "Weitere Informationen finden Sie im Protokoll.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "Ein neues Update für die Vorlagen ist verfügbar!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Prüfe auf Updates ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Herunterladen von Vorlagen ...",
                    ["NoIcon"] = "Kein Icon",
                    ["GeneralSettings"] = "Allgemein",
                    ["GeneralPreferencesUISettings"] = "Darstellung",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Verstecke Einflußbereich beim Selektieren",
                    ["GeneralPreferencesUseZoomToPoint"] = "Verwende neues Zoomverhalten",
                    ["GeneralPreferencesGridLinesColor"] = "Raster-/Gitterlinienfarbe",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Randfarbe",
                    ["GeneralPreferencesZoomSensitivity"] = "Zoom-Empfindlichkeit",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Scrollrichtung umkehren",
                    ["GeneralPreferencesInvertPanningDirection"] = "Schwenkrichtung umkehren",
                    ["GeneralPreferencesShowScrollbars"] = "Scrollbalken anzeigen",
                    ["ColorTypeDefault"] = "Standard",
                    ["ColorTypeLight"] = "Heller",
                    ["ColorTypeCustom"] = "Benutzerdefiniert",
                    ["Warning"] = "Warnung",
                    ["FileNotFound"] = "Die Datei wurde nicht gefunden.",
                    ["Default"] = "Standard",
                    ["ItemsCopied"] = "Elemente kopiert",
                    ["ItemCopied"] = "Element kopiert",
                    ["LoadingPresetsFailed"] = "Das Laden der Gebäudevorlagen ist fehlgeschlagen.",
                    ["LoadingIconNamesFailed"] = "Das Laden der Iconnamen ist fehlgeschlagen.",
                    ["FileVersionUnsupportedMessage"] = $"Versuchen Sie trotzdem zu laden?{Environment.NewLine}Dies wird sehr wahrscheinlich fehlschlagen oder dazu führen, dass seltsame Dinge passieren.",
                    ["FileVersionUnsupportedTitle"] = "Dateiversion nicht unterstützt",
                    ["IOErrorMessage"] = "Etwas ist beim Speichern/Laden der Datei schiefgegangen.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Eine andere Instanz der App läuft bereits.",
                    ["ErrorUpgradingSettings"] = "Die Einstellungsdatei ist beschädigt worden. Wir müssen Ihre Einstellungen zurücksetzen.",
                    ["FileVersionMismatchMessage"] = $"Versuchen Sie trotzdem zu laden?{Environment.NewLine}Dies wird sehr wahrscheinlich fehlschlagen oder dazu führen, dass seltsame Dinge passieren.",
                    ["FileVersionMismatchTItle"] = "Unstimmigkeit der Dateiversion",
                    ["LayoutLoadingError"] = "Beim Laden des Layouts ging etwas schief.",
                    ["LayoutSavingError"] = "Beim Speichern des Layouts ist etwas schiefgegangen.",
                    ["InvalidBuildingConfiguration"] = "Ungültige Gebäudekonfiguration.",
                    ["MergeRoads"] = "Straßen zusammenführen",
                    ["LoadingTreeLocalizationFailed"] = "Das Laden der Übersetzungen ist fehlgeschlagen.",
                    ["Undo"] = "Rückgängig",
                    ["Redo"] = "Wiederherstellen",
                    ["LayoutSettings"] = "Layout Optionen",
                    ["View"] = "Ansicht",
                    ["SaveUnsavedChanges"] = "Änderungen speichern?",
                    ["UnsavedChanged"] = "Es gibt nicht gespeicherte Änderungen",
                    ["UnsavedChangedBeforeCrash"] = "Die Anwendung ist abgestürzt, aber es gibt nicht gespeicherte Änderungen.",
                    ["ColorPresetsVersion"] = "Farbvorlagenversion",
                    ["TreeLocalizationVersion"] = "Übersetzungsversion",
                    ["ShowHarborBlockedArea"] = "Hafengebiete anzeigen",
                    ["ShowPanorama"] = "Panorama zeigen",
                    ["GeneralPreferencesRecentFilesSettings"] = "Zuletzt geöffnete Dateien",
                    ["GeneralPreferencesMaxRecentFiles"] = "maximale Anzahl Dateien",
                    ["Clear"] = "Leeren",
                    ["EnableDebugMode"] = "Debugmodus aktivieren",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Straßen in die Statistik einbeziehen",
                    ["ShowMultipleInstanceWarning"] = "Warnung anzeigen, wenn mehrere Instanzen geöffnet sind",
                    ["WarningMultipleInstancesAreRunning"] = "Es gibt ein Update, aber die App ist mehrfach geöffnet. Schließen Sie alle Instanzen und starten Sie nur 1 Instanz, damit das Update funktioniert.",
                    ["SelectAllSameIdentifier"] = "Alle Gebäude desselben Typs auswählen",
                    ["RenderVersionOnExportedImage"] = "Zeige Layoutversion auf exportiertem Bild an"
                },
                ["fra"] = new Dictionary<string, string>()
                {
                    ["File"] = "Fichier",
                    ["NewCanvas"] = "Nouveau projet",
                    ["Open"] = "Ouvrir",
                    ["Save"] = "Sauvegarder",
                    ["SaveAs"] = "Sauvegarder sous",
                    ["CopyLayoutToClipboard"] = "Copier la mise en page dans le presse-papiers en tant que JSON",
                    ["LoadLayoutFromJson"] = "Charger l'agencement à partir de JSON",
                    ["Exit"] = "Quitter",
                    ["Extras"] = "Extras",
                    ["Normalize"] = "Centrer",
                    ["ResetZoom"] = "Rénitialiser le zoom",
                    ["RegisterFileExtension"] = "Enregistrer l'extension du fichier",
                    ["RegisterFileExtensionSuccessful"] = "L'enregistrement de l'extension du fichier est terminée",
                    ["UnregisterFileExtension"] = "Supprimer l'extension du fichier",
                    ["UnregisterFileExtensionSuccessful"] = "La suppresion de l'extension du fichier est terminée",
                    ["Successful"] = "Réussi",
                    ["Export"] = "Exporter",
                    ["ExportImage"] = "Exporter une image",
                    ["UseCurrentZoomOnExportedImage"] = "Utiliser le zom actuel sur l'image exportée",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Rendre la sélection en surbrillance sur l'image exportée",
                    ["Language"] = "Langue",
                    ["ManageStats"] = "Gérer les statistiques",
                    ["ShowStats"] = "Montrer les statistiques",
                    ["BuildingCount"] = "Nombre de bâtiment",
                    ["Help"] = "Aide",
                    ["Version"] = "Version",
                    ["FileVersion"] = "Version du fichier",
                    ["PresetsVersion"] = "Version du préréglage",
                    ["CheckForUpdates"] = "Vérifiez les mises à jour",
                    ["VersionCheckErrorMessage"] = $"Quelque chose s'est mal passé lors de la vérification de la version d'erreur.{Environment.NewLine}Plus d'informations peuvent être trouvées dans le journal. exportation de l'image.",
                    ["VersionCheckErrorTitle"] = "La vérification de la version a échoué.",
                    ["EnableAutomaticUpdateCheck"] = "Activer les mises à jour automatique au démarrage",
                    ["ContinueCheckingForUpdates"] = $"Vous souhaitez continuer à vérifier si une nouvelle version est disponible au démarrage?{Environment.NewLine}{Environment.NewLine} Cette option peut être modifiée via Outils -> Préférences -> Mise à jour des paramètres.",
                    ["ContinueCheckingForUpdatesTitle"] = "Continuer à vérifier les mises à jour ?",
                    ["GoToProjectHomepage"] = "Visiter le site internet du projet",
                    ["OpenWelcomePage"] = "Ouvrir la page d'accueil",
                    ["AboutAnnoDesigner"] = "À propos d'Anno Designer",
                    ["ShowGrid"] = "Montrez le quadrillage",
                    ["ShowLabels"] = "Montrez les étiquettes",
                    ["ShowIcons"] = "Montrez les icônes",
                    ["ShowTrueInfluenceRange"] = "Montrer l'étendue de l'influence réelle",
                    ["ShowInfluences"] = "Montrez vos influences",
                    ["BuildingSettings"] = "Paramètres de construction",
                    ["Size"] = "Grandeur",
                    ["Color"] = "Couleur",
                    ["Label"] = "Étiquette",
                    ["Icon"] = "Icône",
                    ["InfluenceType"] = "Type d'influence",
                    ["None"] = "Aucun",
                    ["Radius"] = "Rayon",
                    ["Range"] = "Zone de détection",
                    ["Distance"] = "Distance",
                    ["Both"] = "Tous les deux",
                    ["PavedStreet"] = "Rue pavée",
                    ["PavedStreetWarningTitle"] = "Sélection de rues pavées",
                    ["PavedStreetToolTip"] = $"Si vous cochez cette option, la plage d'influence des bâtiments sera modifiée, {Environment.NewLine}ce qui représente la portée accrue qu'ils reçoivent lorsqu'ils utilisent des rues pavées.{Environment.NewLine}Utilisez le bouton 'Placer le bâtiment' pour placer l'objet.",
                    ["Options"] = "Options",
                    ["EnableLabel"] = "Activer les étiquettes",
                    ["Borderless"] = "Sans bordure",
                    ["Road"] = "Routes",
                    ["PlaceBuilding"] = "Placer le bâtiment",
                    ["Search"] = "Filtrez",
                    ["SearchToolTip"] = "ESC pour effacer la recherche",
                    ["SearchPlaceholder"] = "Tapez le nom d'un bâtiment ici",
                    ["TitleAbout"] = "À propos",
                    ["BuildingLayoutDesigner"] = "Un planificateur de carte pour la série Anno d'Ubisofts",
                    ["Credits"] = "Crédits",
                    ["OriginalApplicationBy"] = "Application originale par",
                    ["BuildingPresets"] = "prédisposition des bâtiments",
                    ["CombinedForAnnoVersions"] = "Combiner les prédispositions des bâtiments pour",
                    ["AdditionalChanges"] = "Changements supplémentaires par les contributeurs sur Github",
                    ["ManyThanks"] = "Un énorme merci à tous les utilisateurs qui ont contribués au projet!",
                    ["VisitTheFandom"] = "Assurez-vous de visiter la page de Fandom pour Anno!",
                    ["OriginalHomepage"] = "Page originale",
                    ["ProjectHomepage"] = "Page du projet",
                    ["GoToFandom"] = "Site internet de Fandom",
                    ["Close"] = "Fermer",
                    ["StatusBarControls"] = "Contrôles de la souris: gauche - placer, sélectionner, déplacer // droit – arrêter le déplacement, retirer // les deux – tout déplacer // double clic - copier // molette - zoom // clic de la molette - rotation.",
                    ["StatusBarItemsOnClipboard"] = "Éléments dans le presse-papier",
                    ["StatNothingPlaced"] = "Rien n'est placé",
                    ["StatBoundingBox"] = "Zone de délimitation",
                    ["StatMinimumArea"] = "Surface minimale",
                    ["StatSpaceEfficiency"] = "Utilisation de l'espace",
                    ["StatBuildings"] = "Bâtiments",
                    ["StatBuildingsSelected"] = "Bâtiment sélectionné",
                    ["StatTiles"] = "Carrelage",
                    ["StatNameNotFound"] = "Nom du bâtiment introuvable",
                    ["UnknownObject"] = "Object inconnu",
                    ["PresetsLoaded"] = "Préréglage du bâtiment importé",
                    ["ExportImageSuccessful"] = "L'image a été exportée correctement.",
                    ["ExportImageError"] = "Quelque chose s'est mal passé lors de l'exportation de l'image.",
                    ["ApplyColorToSelection"] = "Appliquer la couleur",
                    ["ApplyColorToSelectionToolTip"] = "Appliquer la couleur à tous les bâtiments de la sélection courante",
                    ["ApplyPredefinedColorToSelection"] = "Appliquer la couleur prédéfinie",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Appliquer la couleur prédéfinie (si trouvée) à tous les bâtiments de la sélection courante",
                    ["AvailableColors"] = "Couleurs disponibles",
                    ["StandardColors"] = "Couleurs prédéfinies",
                    ["RecentColors"] = "Couleurs utilisées récemment",
                    ["Standard"] = "Standard",
                    ["Advanced"] = "Avancé",
                    ["UpdateAvailableHeader"] = "Mise à jour disponible",
                    ["UpdateAvailablePresetMessage"] = $"Une version mise à jour des préréglages est disponible.{Environment.NewLine}Voulez-vous le télécharger et redémarrer l'application?",
                    ["AdminRightsRequired"] = "Droits d'administration requis",
                    ["UpdateRequiresAdminRightsMessage"] = "Pour télécharger la mise à jour, l'application a besoin d'un accès en écriture. Veuillez fournir vos justificatifs d'identité.",
                    ["Error"] = "Erreur",
                    ["UpdateErrorPresetMessage"] = "Il y a eu une erreur lors de l'installation de la mise à jour.",
                    ["UpdateNoConnectionMessage"] = "Impossible d'établir une connexion à Internet.",
                    ["ColorsInLayout"] = "Couleurs dans la mise en page",
                    ["ColorsInLayoutToolTip"] = "Double-cliquez sur la couleur pour la sélectionner",
                    ["LoadLayoutHeader"] = "Disposition de la charge",
                    ["LoadLayoutMessage"] = "Veuillez coller la chaîne JSON ci-dessous.",
                    ["ClipboardContainsLayoutAsJson"] = "Le presse-papiers contient la mise en page actuelle en tant que JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Annuler",
                    ["SelectAll"] = "Sélectionner tout",
                    ["Tools"] = "Outils",
                    ["Preferences"] = "Préférences",
                    ["ResetAllConfirmationMessage"] = "Êtes-vous sûr de vouloir réinitialiser toutes les touches de raccourci à leurs paramètres par défaut ?",
                    ["ResetAll"] = "Réinitialiser tout",
                    ["UpdateSettings"] = "Mise à jour des paramètres",
                    ["ManageKeybindings"] = "Gérer les porte-clés",
                    ["Edit"] = "Edit",
                    ["Recording"] = "Enregistrement",
                    ["RecordANewAction"] = "Enregistrer une nouvelle action",
                    ["Rotate"] = "Faire tourner",
                    ["Copy"] = "Copie",
                    ["Paste"] = "Coller",
                    ["Delete"] = "Supprimer",
                    ["Duplicate"] = "Dupliquer",
                    ["RotateAll"] = "Faire pivoter tout",
                    ["DeleteObjectUnderCursor"] = "Supprimer l'objet sous le curseur",
                    ["Licenses"] = "Licences",
                    ["ViewLicenses"] = "Voir les licences open source",
                    ["ExternalLinkConfirmationMessage"] = "Cela ouvrira un nouvel onglet dans votre navigateur web par défaut. Continuer ?",
                    ["ExternalLinkMessageTitle"] = "Ouverture d'un lien externe",
                    ["RecentFiles"] = "Fichiers récents",
                    ["UpdatePreferencesVersionInformation"] = "Informations sur les versions",
                    ["UpdatePreferencesSettings"] = "Paramètres",
                    ["UpdatePreferencesCheckPreRelease"] = "Vérifier les pré-livraisons",
                    ["UpdatePreferencesUpdates"] = "Mises à jour",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Télécharger les préréglages et relancer l'application",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "Une nouvelle mise à jour est disponible ! Veuillez consulter le site web pour les notes de mise à jour.",
                    ["UpdatePreferencesNoUpdates"] = "Cette version est à jour.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Vérification d'erreurs pour les mises à jour.",
                    ["UpdatePreferencesMoreInfoInLog"] = "Vous trouverez plus d'informations dans le journal de bord.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "Une nouvelle mise à jour des présélections est disponible!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Vérifier les mises à jour ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Téléchargement des préréglages ...",
                    ["NoIcon"] = "Pas d'icône",
                    ["GeneralSettings"] = "Paramètres généraux",
                    ["GeneralPreferencesUISettings"] = "Paramètres de l'interface utilisateur",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Cacher l'influence sur la sélection",
                    ["GeneralPreferencesUseZoomToPoint"] = "Utiliser un nouveau comportement de zoom",
                    ["GeneralPreferencesGridLinesColor"] = "Couleur des lignes de la grille",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Couleur de la bordure",
                    ["GeneralPreferencesZoomSensitivity"] = "Sensibilité du zoom",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Inverser le sens de défilement",
                    ["GeneralPreferencesInvertPanningDirection"] = "Inverser le sens de rotation",
                    ["GeneralPreferencesShowScrollbars"] = "Afficher les barres de défilement",
                    ["ColorTypeDefault"] = "Défaut",
                    ["ColorTypeLight"] = "Lumière",
                    ["ColorTypeCustom"] = "Personnalisation",
                    ["Warning"] = "Avertissement",
                    ["FileNotFound"] = "Le fichier n'a pas été retrouvé.",
                    ["Default"] = "Défaut",
                    ["ItemsCopied"] = "éléments copiés",
                    ["ItemCopied"] = "élément copié",
                    ["LoadingPresetsFailed"] = "Le chargement des présélections du bâtiment a échoué.",
                    ["LoadingIconNamesFailed"] = "Le chargement des noms d'icônes a échoué.",
                    ["FileVersionUnsupportedMessage"] = $"Essayez de charger quand même?{Environment.NewLine}Il est très probable que cela échoue ou que des choses étranges se produisent.",
                    ["FileVersionUnsupportedTitle"] = "Version du fichier non prise en charge",
                    ["IOErrorMessage"] = "Quelque chose s'est mal passé pendant l'enregistrement et le chargement du fichier.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Une autre instance de l'application est déjà en cours d'exécution.",
                    ["ErrorUpgradingSettings"] = "Le fichier de configuration est corrompu. Nous devons réinitialiser vos paramètres.",
                    ["FileVersionMismatchMessage"] = $"Essayez quand même de charger?{Environment.NewLine}Il est très probable que cela échoue ou que des choses étranges se produisent.",
                    ["FileVersionMismatchTItle"] = "Mauvaise concordance des versions des fichiers",
                    ["LayoutLoadingError"] = "Quelque chose s'est mal passé lors du chargement de la mise en page.",
                    ["LayoutSavingError"] = "Quelque chose s'est mal passé lors de la sauvegarde de la mise en page.",
                    ["InvalidBuildingConfiguration"] = "Configuration du bâtiment incorrecte.",
                    ["MergeRoads"] = "Fusionner les routes",
                    ["LoadingTreeLocalizationFailed"] = "Le chargement de la localisation a échoué.",
                    ["Undo"] = "Annuler",
                    ["Redo"] = "Refaire",
                    ["LayoutSettings"] = "Paramètres de mise en page",
                    ["View"] = "Voir",
                    ["SaveUnsavedChanges"] = "Sauvegarder les modifications non sauvegardées ?",
                    ["UnsavedChanged"] = "Il y a des changements non sauvés",
                    ["UnsavedChangedBeforeCrash"] = "Le programme a planté mais il y a des modifications non sauvegardées.",
                    ["ColorPresetsVersion"] = "Version des préréglages de couleur",
                    ["TreeLocalizationVersion"] = "Version de la localisation de l'arbre",
                    ["ShowHarborBlockedArea"] = "Afficher les zones portuaires",
                    ["ShowPanorama"] = "Montrer panorama",
                    ["GeneralPreferencesRecentFilesSettings"] = "Fichiers récents",
                    ["GeneralPreferencesMaxRecentFiles"] = "Nombre maximal de fichiers",
                    ["Clear"] = "Supprimer",
                    ["EnableDebugMode"] = "Activer le mode débogage",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Inclure les routes dans les statistiques",
                    ["ShowMultipleInstanceWarning"] = "Afficher un avertissement si plusieurs instances sont ouvertes",
                    ["WarningMultipleInstancesAreRunning"] = "Il y a une mise à jour, mais l'application est ouverte plusieurs fois. Fermez toutes les instances et démarrez une seule instance pour permettre à la mise à jour de fonctionner.",
                    ["SelectAllSameIdentifier"] = "Sélectionner tous les bâtiments de même type",
                    ["RenderVersionOnExportedImage"] = "Version du rendu sur l'image exportée"
                },
                ["esp"] = new Dictionary<string, string>()
                {
                    ["File"] = "Archivo",
                    ["NewCanvas"] = "Nuevo proyecto",
                    ["Open"] = "Abrir",
                    ["Save"] = "Guardar",
                    ["SaveAs"] = "Guardar como",
                    ["CopyLayoutToClipboard"] = "Copiar diseño al portapapeles como JSON",
                    ["LoadLayoutFromJson"] = "Cargar diseño desde JSON",
                    ["Exit"] = "Salir",
                    ["Extras"] = "Extras",
                    ["Normalize"] = "Normalizar",
                    ["ResetZoom"] = "Restablecer zoom",
                    ["RegisterFileExtension"] = "Registrar extensión de archivo",
                    ["RegisterFileExtensionSuccessful"] = "El registro de la extensión del archivo se ha realizado correctamente.",
                    ["UnregisterFileExtension"] = "Eliminar extensión de archivo",
                    ["UnregisterFileExtensionSuccessful"] = "Se ha eliminado el registro de la extensión de archivo correctamente.",
                    ["Successful"] = "Éxito",
                    ["Export"] = "Exportar",
                    ["ExportImage"] = "Exportar como imagen",
                    ["UseCurrentZoomOnExportedImage"] = "Utilizar el zoom actual en la imagen exportada",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Renderizar la selección en la imagen exportada",
                    ["Language"] = "Idioma",
                    ["ManageStats"] = "Gestionar estadísticas",
                    ["ShowStats"] = "Mostrar estadísticas",
                    ["BuildingCount"] = "Número de edificios",
                    ["Help"] = "Ayuda",
                    ["Version"] = "Versión",
                    ["FileVersion"] = "Versión del archivo",
                    ["PresetsVersion"] = "Versión de las plantillas",
                    ["CheckForUpdates"] = "Comprobar actualizaciones",
                    ["VersionCheckErrorMessage"] = $"Error al comprobar la versión.{Environment.NewLine}Puedes encontrar más información en el registro.",
                    ["VersionCheckErrorTitle"] = "La comprobación de la versión ha fallado.",
                    ["EnableAutomaticUpdateCheck"] = "Activar actualizaciones automáticas al inicio",
                    ["ContinueCheckingForUpdates"] = $"¿Quieres seguir buscando nuevas versiones al inicio?{Environment.NewLine}{Environment.NewLine}Esta opción se puede cambiar en Herramientas -> Preferencias -> Configuración de actualizaciones.",
                    ["ContinueCheckingForUpdatesTitle"] = "¿Seguir comprobando si hay actualizaciones?",
                    ["GoToProjectHomepage"] = "Ir a la página del proyecto",
                    ["OpenWelcomePage"] = "Abrir la página de bienvenida",
                    ["AboutAnnoDesigner"] = "Acerca de Anno Designer",
                    ["ShowGrid"] = "Mostrar cuadrícula",
                    ["ShowLabels"] = "Mostrar etiquetas",
                    ["ShowIcons"] = "Mostrar iconos",
                    ["ShowTrueInfluenceRange"] = "Mostrar alcance de la influencia real",
                    ["ShowInfluences"] = "Mostrar influencias",
                    ["BuildingSettings"] = "Opciones de construcción",
                    ["Size"] = "Tamaño",
                    ["Color"] = "Color",
                    ["Label"] = "Etiqueta",
                    ["Icon"] = "Icono",
                    ["InfluenceType"] = "Tipo de influencia",
                    ["None"] = "Ninguno",
                    ["Radius"] = "Radio",
                    ["Range"] = "Zona de detección",
                    ["Distance"] = "Distancia",
                    ["Both"] = "Ambos",
                    ["PavedStreet"] = "Calle pavimentada",
                    ["PavedStreetWarningTitle"] = "Selección de calles pavimentadas",
                    ["PavedStreetToolTip"] = $"Marcando esta opción se cambiará el alcance de influencia de los edificios,{Environment.NewLine}representando el mayor alcance que reciben al utilizar calles pavimentadas.{Environment.NewLine}Usa el botón \"Colocar edificio\" para colocar un objeto.",
                    ["Options"] = "Opciones",
                    ["EnableLabel"] = "Activar etiquetas",
                    ["Borderless"] = "Sin bordes",
                    ["Road"] = "Rutas",
                    ["PlaceBuilding"] = "Colocación de edificios",
                    ["Search"] = "Filtro",
                    ["SearchToolTip"] = "ESC para borrar el texto de búsqueda",
                    ["SearchPlaceholder"] = "Escribe aquí el nombre de un edificio",
                    ["TitleAbout"] = "Acerca de",
                    ["BuildingLayoutDesigner"] = "Un diseñador de edificios para la serie Anno de Ubisoft",
                    ["Credits"] = "Créditos",
                    ["OriginalApplicationBy"] = "Aplicación original de",
                    ["BuildingPresets"] = "Plantillas de edificios",
                    ["CombinedForAnnoVersions"] = "Combinación de plantillas de edificios para",
                    ["AdditionalChanges"] = "Cambios adicionales de los colaboradores en Github",
                    ["ManyThanks"] = "Muchas gracias a todos los usuarios que han contribuido a este proyecto.",
                    ["VisitTheFandom"] = "¡No dejes de visitar las páginas de Fandom de Anno!",
                    ["OriginalHomepage"] = "Página web original",
                    ["ProjectHomepage"] = "Página del proyecto",
                    ["GoToFandom"] = "Ir a Fandom",
                    ["Close"] = "Cerrar",
                    ["StatusBarControls"] = "Controles del ratón: izquierdo - colocar, seleccionar, mover // derecho - dejar de colocar, eliminar // ambos - mover todo // doble clic - copiar // rueda - zoom // clic-rueda - rotar.",
                    ["StatusBarItemsOnClipboard"] = "Elementos en el portapapeles",
                    ["StatNothingPlaced"] = "No se ha colocado nada",
                    ["StatBoundingBox"] = "Zona de delimitación",
                    ["StatMinimumArea"] = "Superficie mínima",
                    ["StatSpaceEfficiency"] = "Uso del espacio",
                    ["StatBuildings"] = "Edificios",
                    ["StatBuildingsSelected"] = "Edificio seleccionado",
                    ["StatTiles"] = "Baldosas",
                    ["StatNameNotFound"] = "No se ha encontrado el nombre del edificio",
                    ["UnknownObject"] = "Objeto desconocido",
                    ["PresetsLoaded"] = "Plantillas de edificio cargadas",
                    ["ExportImageSuccessful"] = "La imagen se ha exportado correctamente.",
                    ["ExportImageError"] = "Algo salió mal al exportar la imagen.",
                    ["ApplyColorToSelection"] = "Aplicar color",
                    ["ApplyColorToSelectionToolTip"] = "Aplicar el color a todos los edificios de la selección actual",
                    ["ApplyPredefinedColorToSelection"] = "Aplicar color predefinido",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Aplicar el color predefinido (si existe) a todos los edificios de la selección actual",
                    ["AvailableColors"] = "Colores disponibles",
                    ["StandardColors"] = "Colores predefinidos",
                    ["RecentColors"] = "Colores utilizados recientemente",
                    ["Standard"] = "Estándar",
                    ["Advanced"] = "Avanzado",
                    ["UpdateAvailableHeader"] = "Actualización disponible",
                    ["UpdateAvailablePresetMessage"] = $"Hay una versión actualizada del archivo de plantillas.{Environment.NewLine}¿Quieres descargarlo y reiniciar la aplicación?",
                    ["AdminRightsRequired"] = "Se requieren derechos de administrador",
                    ["UpdateRequiresAdminRightsMessage"] = "Para descargar la actualización, la aplicación necesita acceso de escritura. Por favor, proporciona tus credenciales.",
                    ["Error"] = "Error",
                    ["UpdateErrorPresetMessage"] = "Hubo un error al instalar la actualización.",
                    ["UpdateNoConnectionMessage"] = "No se ha podido establecer la conexión a Internet.",
                    ["ColorsInLayout"] = "Colores en el diseño",
                    ["ColorsInLayoutToolTip"] = "Doble clic en el color para seleccionarlo",
                    ["LoadLayoutHeader"] = "Cargar plantilla",
                    ["LoadLayoutMessage"] = "Pega la cadena JSON a continuación.",
                    ["ClipboardContainsLayoutAsJson"] = "El portapapeles contiene el diseño actual como JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Cancelar",
                    ["SelectAll"] = "Seleccionar todo",
                    ["Tools"] = "Herramientas",
                    ["Preferences"] = "Preferencias",
                    ["ResetAllConfirmationMessage"] = "¿Estás seguro de que quieres restablecer todas las teclas de acceso rápido a sus valores predeterminados?",
                    ["ResetAll"] = "Restablecer todo",
                    ["UpdateSettings"] = "Actualizar ajustes",
                    ["ManageKeybindings"] = "Gestionar las combinaciones de teclas",
                    ["Edit"] = "Editar",
                    ["Recording"] = "Registrando",
                    ["RecordANewAction"] = "Registar nueva acción",
                    ["Rotate"] = "Rotar",
                    ["Copy"] = "Copiar",
                    ["Paste"] = "Pegar",
                    ["Delete"] = "Eliminar",
                    ["Duplicate"] = "Duplicar",
                    ["RotateAll"] = "Rotar todo",
                    ["DeleteObjectUnderCursor"] = "Eliminar objetos bajo el cursor",
                    ["Licenses"] = "Licencias",
                    ["ViewLicenses"] = "Ver las licencias de código abierto",
                    ["ExternalLinkConfirmationMessage"] = "Esto abrirá una nueva pestaña en el navegador por defecto. ¿Continuar?",
                    ["ExternalLinkMessageTitle"] = "Abrir un enlace externo",
                    ["RecentFiles"] = "Archivos recientes",
                    ["UpdatePreferencesVersionInformation"] = "Información sobre la versión",
                    ["UpdatePreferencesSettings"] = "Ajustes",
                    ["UpdatePreferencesCheckPreRelease"] = "Comprobar si hay versiones preliminares",
                    ["UpdatePreferencesUpdates"] = "Actualizaciones",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Descargar plantillas y reiniciar la aplicación",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "¡Nueva actualización disponible! Echa un vistazo a la web para ver notas sobre la versión.",
                    ["UpdatePreferencesNoUpdates"] = "Esta versión está actualizada.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Error al comprobar las actualizaciones.",
                    ["UpdatePreferencesMoreInfoInLog"] = "Se puede encontrar más información en el registro.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "¡Hay disponible una nueva actualización de las plantillas!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Comprobando actualizaciones ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Descargando plantillas ...",
                    ["NoIcon"] = "Sin icono",
                    ["GeneralSettings"] = "Ajustes generales",
                    ["GeneralPreferencesUISettings"] = "Ajustes de interfaz",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Ocultar influencia en la selección",
                    ["GeneralPreferencesUseZoomToPoint"] = "Usar nuevo comportamiento del zoom",
                    ["GeneralPreferencesGridLinesColor"] = "Color de la cuadrícula",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Color del borde",
                    ["GeneralPreferencesZoomSensitivity"] = "Sensibilidad del zoom",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Invertir dirección de desplazamiento",
                    ["GeneralPreferencesInvertPanningDirection"] = "Invertir el sentido de giro",
                    ["GeneralPreferencesShowScrollbars"] = "Mostrar barras de desplazamiento",
                    ["ColorTypeDefault"] = "Por defecto",
                    ["ColorTypeLight"] = "Luz",
                    ["ColorTypeCustom"] = "Personalizado",
                    ["Warning"] = "Advertencia",
                    ["FileNotFound"] = "No se ha encontrado el archivo.",
                    ["Default"] = "Por defecto",
                    ["ItemsCopied"] = "elementos copiados",
                    ["ItemCopied"] = "elemento copiado",
                    ["LoadingPresetsFailed"] = "La carga de las plantillas de los edificios ha fallado.",
                    ["LoadingIconNamesFailed"] = "La carga de los nombres de los iconos ha fallado.",
                    ["FileVersionUnsupportedMessage"] = $"¿Intentar cargar de todos modos?{Environment.NewLine}Es muy probable que esto falle o que ocurran cosas extrañas.",
                    ["FileVersionUnsupportedTitle"] = "Versión de archivo no admitida",
                    ["IOErrorMessage"] = "Algo salió mal al guardar/cargar el archivo.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Ya se está ejecutando otra instancia de la aplicación.",
                    ["ErrorUpgradingSettings"] = "El archivo de configuración se ha corrompido. Es necesario restablecer la configuración.",
                    ["FileVersionMismatchMessage"] = $"¿Intentar cargar de todos modos?{Environment.NewLine}Es muy probable que esto falle o que ocurran cosas extrañas.",
                    ["FileVersionMismatchTItle"] = "Error en la versión del archivo",
                    ["LayoutLoadingError"] = "Algo ha ido mal al cargar el diseño.",
                    ["LayoutSavingError"] = "Algo salió mal al guardar el diseño.",
                    ["InvalidBuildingConfiguration"] = "Configuración del edificio no válida.",
                    ["MergeRoads"] = "Fusionar carreteras",
                    ["LoadingTreeLocalizationFailed"] = "La carga de la localización ha fallado.",
                    ["Undo"] = "Deshacer",
                    ["Redo"] = "Rehacer",
                    ["LayoutSettings"] = "Configuración del diseño",
                    ["View"] = "Ver",
                    ["SaveUnsavedChanges"] = "¿Guardar los cambios no guardados?",
                    ["UnsavedChanged"] = "Hay cambios no guardados",
                    ["UnsavedChangedBeforeCrash"] = "El programa se ha interrumpido pero hay cambios no guardados",
                    ["ColorPresetsVersion"] = "Versión de preajustes de color",
                    ["TreeLocalizationVersion"] = "Versión de localización del árbol",
                    ["ShowHarborBlockedArea"] = "Mostrar zonas portuarias",
                    ["ShowPanorama"] = "Mostrar panorama",
                    ["GeneralPreferencesRecentFilesSettings"] = "Archivos recientes",
                    ["GeneralPreferencesMaxRecentFiles"] = "Número máximo de archivos",
                    ["Clear"] = "Eliminar",
                    ["EnableDebugMode"] = "Activar el modo de depuración",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Incluir las carreteras en las estadísticas",
                    ["ShowMultipleInstanceWarning"] = "Mostrar advertencia si hay varias instancias abiertas",
                    ["WarningMultipleInstancesAreRunning"] = "Hay una actualización, pero la aplicación está abierta varias veces. Cierra todas las instancias e inicia solo una para que la actualización funcione.",
                    ["SelectAllSameIdentifier"] = "Seleccionar todos los edificios del mismo tipo",
                    ["RenderVersionOnExportedImage"] = "Versión de renderizado en la imagen exportada"
                },
                ["pol"] = new Dictionary<string, string>()
                {
                    ["File"] = "Plik",
                    ["NewCanvas"] = "Nowy projekt",
                    ["Open"] = "Otwórz",
                    ["Save"] = "Zapisz",
                    ["SaveAs"] = "Zapisz jako",
                    ["CopyLayoutToClipboard"] = "Skopiuj układ do schowka jako JSON.",
                    ["LoadLayoutFromJson"] = "Układ obciążenia od JSON",
                    ["Exit"] = "Zamknij",
                    ["Extras"] = "Dodatki",
                    ["Normalize"] = "Znormalizuj",
                    ["ResetZoom"] = "Resetuj powiększenie",
                    ["RegisterFileExtension"] = "Zarejestruj rozszerzenie pliku",
                    ["RegisterFileExtensionSuccessful"] = "Rejestracja rozszerzenia pliku zakończyła się sukcesem.",
                    ["UnregisterFileExtension"] = "Wyrejestruj rozszerzenie pliku",
                    ["UnregisterFileExtensionSuccessful"] = "Wyrejestrowanie rozszerzenia pliku zakończyło się sukcesem.",
                    ["Successful"] = "Udało się.",
                    ["Export"] = "Eksportuj",
                    ["ExportImage"] = "Eksportuj obraz",
                    ["UseCurrentZoomOnExportedImage"] = "Użyj obecnego powiększenia na eksportowanym obrazie",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Pokaż podświetlenie wybranych elementów na eksportowanym obrazie",
                    ["Language"] = "Język",
                    ["ManageStats"] = "Zarządzanie statystyki",
                    ["ShowStats"] = "Pokaż statystyki",
                    ["BuildingCount"] = "Licznik budynków",
                    ["Help"] = "Pomoc",
                    ["Version"] = "Wersja",
                    ["FileVersion"] = "Wersja pliku",
                    ["PresetsVersion"] = "Presety-wersja",
                    ["CheckForUpdates"] = "Sprawdź aktualizacje",
                    ["VersionCheckErrorMessage"] = $"Coś poszło nie tak podczas sprawdzania wersji Error.{Environment.NewLine}Więcej informacji można znaleźć w dzienniku. eksportowanie obrazu.",
                    ["VersionCheckErrorTitle"] = "Kontrola wersji nie powiodła się.",
                    ["EnableAutomaticUpdateCheck"] = "Włączyć automatyczne sprawdzanie aktualizacji przy uruchamianiu",
                    ["ContinueCheckingForUpdates"] = $"Czy chcesz kontynuować sprawdzanie nowej wersji przy starcie systemu?{Environment.NewLine}{Environment.NewLine}Opcja ta może zostać zmieniona poprzez Narzędzia -> Preferencje -> Ustawienia aktualizacji.",
                    ["ContinueCheckingForUpdatesTitle"] = "Kontynuować sprawdzanie pod kątem aktualizacji?",
                    ["GoToProjectHomepage"] = "Przejdź do strony projektu",
                    ["OpenWelcomePage"] = "Otwórz stronę powitalną",
                    ["AboutAnnoDesigner"] = "O Anno Designerze",
                    ["ShowGrid"] = "Pokaż siatkę",
                    ["ShowLabels"] = "Pokaż etykiety",
                    ["ShowIcons"] = "Pokaż ikony",
                    ["ShowTrueInfluenceRange"] = "Pokaż prawdziwy zakres wpływu",
                    ["ShowInfluences"] = "Pokaż wpływy",
                    ["BuildingSettings"] = "Ustawienia budynku",
                    ["Size"] = "Wymiary",
                    ["Color"] = "Kolor",
                    ["Label"] = "Podpis",
                    ["Icon"] = "Ikona",
                    ["InfluenceType"] = "Rodzaj wpływu Typ",
                    ["None"] = "Nie ma",
                    ["Radius"] = "Promień",
                    ["Range"] = "Zasięg",
                    ["Distance"] = "Odległość",
                    ["Both"] = "Obydwoje",
                    ["PavedStreet"] = "Droga Brukowana",
                    ["PavedStreetWarningTitle"] = "Wybór Drogi Brukowanej",
                    ["PavedStreetToolTip"] = $"Zaznaczenie tej opcji spowoduje zmianę zakresu wpływu dla budynków, {Environment.NewLine}reprezentujący zwiększony zasięg, jaki otrzymują, gdy używając brukowanych ulic.{Environment.NewLine}Użyj przycisku 'Postaw budynek', aby umieścić obiekt.",
                    ["Options"] = "Opcje",
                    ["EnableLabel"] = "Pokaż etykietę",
                    ["Borderless"] = "Bez obramowania",
                    ["Road"] = "Droga / Ulica",
                    ["PlaceBuilding"] = "Postaw budynek",
                    ["Search"] = "Filtr",
                    ["SearchToolTip"] = "ESC aby wyczyścić tekst do przeszukiwania",
                    ["SearchPlaceholder"] = "Wpisz tutaj nazwę budynku",
                    ["TitleAbout"] = "Na temat / O",
                    ["BuildingLayoutDesigner"] = "Program do planowania zabudowy w serii Anno Ubisoftu",
                    ["Credits"] = "Autorzy",
                    ["OriginalApplicationBy"] = "Oryginalna aplikacja napisana przez",
                    ["BuildingPresets"] = "Presety dla budynków",
                    ["CombinedForAnnoVersions"] = "Połączone presety budynków dla",
                    ["AdditionalChanges"] = "Dodatkowe zmiany wprowadzone przez płatników w sprawie Github",
                    ["ManyThanks"] = "Dziękujemy wszystkim użytkownikom, którzy wsparli ten projekt!",
                    ["VisitTheFandom"] = "Odwiedź fanowskie strony o Anno!",
                    ["OriginalHomepage"] = "Oryginalna strona",
                    ["ProjectHomepage"] = "Strona projektu",
                    ["GoToFandom"] = "Przejdź do strony Fandom",
                    ["Close"] = "Zamknij",
                    ["StatusBarControls"] = "Sterowanie myszą: w lewo - miejsce, zaznacz, przesuń // zatrzymanie w prawo, usuń // oba - przenieś wszystko // podwójne kliknięcie - kopiuj // kółko - powiększ // kółko - obracaj.",
                    ["StatusBarItemsOnClipboard"] = "pozycje w schowku",
                    ["StatNothingPlaced"] = "Nic nie postawiono",
                    ["StatBoundingBox"] = "Ramka Ograniczająca",
                    ["StatMinimumArea"] = "Minimalna Powierzchnia",
                    ["StatSpaceEfficiency"] = "Wykorzystanie Przestrzeni",
                    ["StatBuildings"] = "Budynki",
                    ["StatBuildingsSelected"] = "Wybrane Budynki",
                    ["StatTiles"] = "Płytki",
                    ["StatNameNotFound"] = "Nie znaleziono nazwy budynku",
                    ["UnknownObject"] = "Obiekt nieznany",
                    ["PresetsLoaded"] = "Presety budynków załadowano",
                    ["ExportImageSuccessful"] = "Obraz został pomyślnie wyeksportowany.",
                    ["ExportImageError"] = "Coś poszło nie tak podczas eksportu obrazu.",
                    ["ApplyColorToSelection"] = "Zastosuj kolor",
                    ["ApplyColorToSelectionToolTip"] = "Zastosowanie koloru do wszystkich budynków w bieżącym wyborze",
                    ["ApplyPredefinedColorToSelection"] = "Zastosuj predefiniowany kolor",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Zastosuj predefiniowany kolor (jeśli został znaleziony) do wszystkich budynków w bieżącym wyborze.",
                    ["AvailableColors"] = "Dostępne kolory",
                    ["StandardColors"] = "Predefiniowane kolory",
                    ["RecentColors"] = "Ostatnio używane kolory",
                    ["Standard"] = "Standard",
                    ["Advanced"] = "Zaawansowane",
                    ["UpdateAvailableHeader"] = "Dostępna aktualizacja",
                    ["UpdateAvailablePresetMessage"] = $"Dostępna jest zaktualizowana wersja presetów.{Environment.NewLine}Chcesz ją pobrać i zrestartować aplikację?",
                    ["AdminRightsRequired"] = "Wymagane prawa administratora",
                    ["UpdateRequiresAdminRightsMessage"] = "Aby pobrać aktualizację, aplikacja musi mieć dostęp do zapisu. Proszę podać dane uwierzytelniające.",
                    ["Error"] = "Błąd",
                    ["UpdateErrorPresetMessage"] = "Wystąpił błąd podczas instalacji aktualizacji.",
                    ["UpdateNoConnectionMessage"] = "Nie udało się nawiązać połączenia z Internetem.",
                    ["ColorsInLayout"] = "Kolory w układzie",
                    ["ColorsInLayoutToolTip"] = "Podwójne kliknięcie na kolor, aby go wybrać",
                    ["LoadLayoutHeader"] = "Układ obciążenia",
                    ["LoadLayoutMessage"] = "Proszę wkleić poniższy ciąg JSON.",
                    ["ClipboardContainsLayoutAsJson"] = "Schowek zawiera aktualny układ jako JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Odwołaj",
                    ["SelectAll"] = "Wybierz wszystkie",
                    ["Tools"] = "Narzędzia",
                    ["Preferences"] = "Preferencje",
                    ["ResetAllConfirmationMessage"] = "Czy na pewno chcesz zresetować wszystkie klawisze funkcyjne do ich domyślnych ustawień?",
                    ["ResetAll"] = "Zresetuj wszystko",
                    ["UpdateSettings"] = "Ustawienia aktualizacji",
                    ["ManageKeybindings"] = "Zarządzanie klawiaturami",
                    ["Edit"] = "Edycja",
                    ["Recording"] = "Nagranie",
                    ["RecordANewAction"] = "Zapisać nową akcję",
                    ["Rotate"] = "Obróć",
                    ["Copy"] = "Kopia",
                    ["Paste"] = "Pasta",
                    ["Delete"] = "Skreślić",
                    ["Duplicate"] = "Duplikat",
                    ["RotateAll"] = "Obróć wszystko",
                    ["DeleteObjectUnderCursor"] = "Usuń obiekt pod kursorem",
                    ["Licenses"] = "Licencje",
                    ["ViewLicenses"] = "Oglądaj licencje open source",
                    ["ExternalLinkConfirmationMessage"] = "Spowoduje to otwarcie nowej karty w Twojej domyślnej przeglądarce internetowej. Kontynuować?",
                    ["ExternalLinkMessageTitle"] = "Otwarcie połączenia zewnętrznego",
                    ["RecentFiles"] = "Ostatnie akta",
                    ["UpdatePreferencesVersionInformation"] = "Informacja o wersji",
                    ["UpdatePreferencesSettings"] = "Ustawienia",
                    ["UpdatePreferencesCheckPreRelease"] = "Sprawdź, czy nie występują luzy wstępne",
                    ["UpdatePreferencesUpdates"] = "Aktualizacje",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Pobieranie ustawień wstępnych i ponowne uruchamianie aplikacji",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "Nowa aktualizacja jest już dostępna! Prosimy o zapoznanie się z uwagami dotyczącymi wydania aktualizacji na stronie internetowej.",
                    ["UpdatePreferencesNoUpdates"] = "Ta wersja jest aktualna.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Sprawdzanie błędów w poszukiwaniu aktualizacji.",
                    ["UpdatePreferencesMoreInfoInLog"] = "Więcej informacji znajduje się w dzienniku.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "Dostępna jest nowa aktualizacja ustawień wstępnych!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Sprawdzanie aktualizacji ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Pobieranie zaprogramowanych ustawień...",
                    ["NoIcon"] = "Nie ma Ikony",
                    ["GeneralSettings"] = "Ustawienia ogólne",
                    ["GeneralPreferencesUISettings"] = "Ustawienia UI",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Ukrycie wpływu na selekcję",
                    ["GeneralPreferencesUseZoomToPoint"] = "Wykorzystaj nowe zachowanie zoomu",
                    ["GeneralPreferencesGridLinesColor"] = "Kolor linii siatki",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Kolor granicy",
                    ["GeneralPreferencesZoomSensitivity"] = "Wrażliwość na zoom",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Odwrócenie kierunku przewijania",
                    ["GeneralPreferencesInvertPanningDirection"] = "Odwrócenie kierunku przesuwania",
                    ["GeneralPreferencesShowScrollbars"] = "Pokaż scrollbary",
                    ["ColorTypeDefault"] = "Domyślnie",
                    ["ColorTypeLight"] = "Światło",
                    ["ColorTypeCustom"] = "Niestandardowy",
                    ["Warning"] = "Ostrzeżenie",
                    ["FileNotFound"] = "Plik nie został znaleziony.",
                    ["Default"] = "Domyślnie",
                    ["ItemsCopied"] = "skopiowane elementy",
                    ["ItemCopied"] = "skopiowany przedmiot",
                    ["LoadingPresetsFailed"] = "Załadowanie ustawień budynku nie powiodło się.",
                    ["LoadingIconNamesFailed"] = "Wczytywanie nazw ikon nie powiodło się.",
                    ["FileVersionUnsupportedMessage"] = $"Spróbujesz załadować?{Environment.NewLine}Jest bardzo prawdopodobne, że to się nie uda lub doprowadzi do dziwnych rzeczy.",
                    ["FileVersionUnsupportedTitle"] = "Wersja pliku nieobsługiwana",
                    ["IOErrorMessage"] = "Coś poszło nie tak podczas zapisywania/ładowania pliku.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Inny przykład aplikacji jest już uruchomiony.",
                    ["ErrorUpgradingSettings"] = "Plik z ustawieniami został uszkodzony. Musimy zresetować Twoje ustawienia.",
                    ["FileVersionMismatchMessage"] = $"Próbujesz załadować aplikację?{Environment.NewLine}Jest bardzo prawdopodobne, że to się nie uda lub doprowadzi do dziwnych rzeczy.",
                    ["FileVersionMismatchTItle"] = "Niedopasowanie wersji pliku",
                    ["LayoutLoadingError"] = "Coś poszło nie tak podczas ładowania układu.",
                    ["LayoutSavingError"] = "Coś poszło nie tak podczas zapisywania układu.",
                    ["InvalidBuildingConfiguration"] = "Nieprawidłowa konfiguracja budynku.",
                    ["MergeRoads"] = "Scal drogi",
                    ["LoadingTreeLocalizationFailed"] = "Ładowanie lokalizacji nie powiodło się.",
                    ["Undo"] = "Undo",
                    ["Redo"] = "Redo",
                    ["LayoutSettings"] = "Ustawienia układu",
                    ["View"] = "Zobacz",
                    ["SaveUnsavedChanges"] = "Zapisać niezapisane zmiany?",
                    ["UnsavedChanged"] = "Istnieją niezbawione zmiany",
                    ["UnsavedChangedBeforeCrash"] = "Program zawiesił się, ale są niezapisane zmiany",
                    ["ColorPresetsVersion"] = "Presety kolorów Wersja",
                    ["TreeLocalizationVersion"] = "Wersja lokalizacji drzewa",
                    ["ShowHarborBlockedArea"] = "Pokaż obszary portowe",
                    ["ShowPanorama"] = "Pokaż panoramę",
                    ["GeneralPreferencesRecentFilesSettings"] = "Ostatnie akta",
                    ["GeneralPreferencesMaxRecentFiles"] = "Maksymalna liczba plików",
                    ["Clear"] = "Skreślić",
                    ["EnableDebugMode"] = "Włącz tryb debugowania",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Uwzględnienie dróg w statystykach",
                    ["ShowMultipleInstanceWarning"] = "Pokaż ostrzeżenie, jeśli otwartych jest wiele instancji",
                    ["WarningMultipleInstancesAreRunning"] = "Jest aktualizacja, ale aplikacja jest otwarta wiele razy. Zamknij wszystkie instancje i uruchom tylko 1 instancję, aby umożliwić działanie aktualizacji.",
                    ["SelectAllSameIdentifier"] = "Wybierz wszystkie budynki tego samego typu",
                    ["RenderVersionOnExportedImage"] = "Wersja renderowania na wyeksportowanym obrazie"
                },
                ["rus"] = new Dictionary<string, string>()
                {
                    ["File"] = "Файл",
                    ["NewCanvas"] = "Новый файл",
                    ["Open"] = "Открыть",
                    ["Save"] = "Сохранить",
                    ["SaveAs"] = "Сохранить как",
                    ["CopyLayoutToClipboard"] = "Скопировать макет в буфер обмена как JSON",
                    ["LoadLayoutFromJson"] = "Схема загрузки от JSON",
                    ["Exit"] = "Выход",
                    ["Extras"] = "Дополнительно",
                    ["Normalize"] = "Нормализация",
                    ["ResetZoom"] = "Сбросить масштаб",
                    ["RegisterFileExtension"] = "Зарегистрировать расширение файла",
                    ["RegisterFileExtensionSuccessful"] = "Регистрация расширения файла прошла успешно.",
                    ["UnregisterFileExtension"] = "Отмена регистрации расширения файла",
                    ["UnregisterFileExtensionSuccessful"] = "Отмена регистрации продления файлов прошла успешно.",
                    ["Successful"] = "Успешный",
                    ["Export"] = "Экспорт",
                    ["ExportImage"] = "Экспортировать изображение",
                    ["UseCurrentZoomOnExportedImage"] = "Использовать текущее масштабирование экспортируемого изображения",
                    ["RenderSelectionHighlightsOnExportedImage"] = "Выделение выделенного фрагмента на экспортируемом изображении",
                    ["Language"] = "язык",
                    ["ManageStats"] = "Управление статистикой",
                    ["ShowStats"] = "Показывать параметры",
                    ["BuildingCount"] = "Строительный граф",
                    ["Help"] = "Помощь",
                    ["Version"] = "Версия",
                    ["FileVersion"] = "Версия файла",
                    ["PresetsVersion"] = "Версия пресета",
                    ["CheckForUpdates"] = "Проверить наличие обновлений",
                    ["VersionCheckErrorMessage"] = $"Версия для проверки ошибок.{Environment.NewLine}Дополнительную информацию можно найти в журнале.",
                    ["VersionCheckErrorTitle"] = "Проверка версии не прошла.",
                    ["EnableAutomaticUpdateCheck"] = "Включить автоматическую проверку обновлений при запуске",
                    ["ContinueCheckingForUpdates"] = $"Хотите продолжить проверку новой версии при старте?{Environment.NewLine}{Environment.NewLine}Эту опцию можно изменить через Инструменты -> Параметры -> Обновить настройки.",
                    ["ContinueCheckingForUpdatesTitle"] = "Продолжать проверку обновлений?",
                    ["GoToProjectHomepage"] = "Перейти на главную страницу",
                    ["OpenWelcomePage"] = "Открыть страницу приветствия",
                    ["AboutAnnoDesigner"] = "О Anno Дизайнер",
                    ["ShowGrid"] = "Показать сетку",
                    ["ShowLabels"] = "Показывать название",
                    ["ShowIcons"] = "Показывать значок",
                    ["ShowTrueInfluenceRange"] = "Показать истинный диапазон влияния",
                    ["ShowInfluences"] = "Показать влияние",
                    ["BuildingSettings"] = "Параметры здания",
                    ["Size"] = "Размер",
                    ["Color"] = "Цвет",
                    ["Label"] = "Название",
                    ["Icon"] = "Значок",
                    ["InfluenceType"] = "Тип влияния",
                    ["None"] = "Нет",
                    ["Radius"] = "Радиус",
                    ["Range"] = "Диапазон",
                    ["Distance"] = "Расстояние",
                    ["Both"] = "Оба",
                    ["PavedStreet"] = "Павед Стрит",
                    ["PavedStreetWarningTitle"] = "Выбор улицы Павед Стрит",
                    ["PavedStreetToolTip"] = $"Установив этот флажок, можно изменить диапазон влияния для зданий,{Environment.NewLine}представляет собой увеличенную дальность, которую они получают при использовании мощеных улиц.{Environment.NewLine}Используйте кнопку 'Выбрать здание', чтобы поместить объект.",
                    ["Options"] = "Параметры",
                    ["EnableLabel"] = "Показывать название",
                    ["Borderless"] = "Без полей",
                    ["Road"] = "Дорогa",
                    ["PlaceBuilding"] = "Выбрать здание",
                    ["Search"] = "Фильтр",
                    ["SearchToolTip"] = "ESC чтобы очистить текст поиска",
                    ["SearchPlaceholder"] = "Введите здесь название здания",
                    ["TitleAbout"] = "О программе",
                    ["BuildingLayoutDesigner"] = "Конструктор макета здания для Ubisofts Anno-серии",
                    ["Credits"] = "Авторы",
                    ["OriginalApplicationBy"] = "Оригинальное приложение",
                    ["BuildingPresets"] = "Строительные пресеты",
                    ["CombinedForAnnoVersions"] = "Комбинированные строительные пресеты для",
                    ["AdditionalChanges"] = "Дополнительные изменения по вкладчикам на Github",
                    ["ManyThanks"] = "Большое спасибо всем пользователям, которые внесли свой вклад в этот проект!",
                    ["VisitTheFandom"] = "Обязательно посетите страницы Фэндома для Anno!",
                    ["OriginalHomepage"] = "Оригинальная домашняя страница",
                    ["ProjectHomepage"] = "Домашняя страница проекта",
                    ["GoToFandom"] = "Перейти к Фэндом",
                    ["Close"] = "Закрыть",
                    ["StatusBarControls"] = "Управление мышью: влево - разместить, выбрать, переместить // вправо - прекратить размещение, удалить // оба - переместить все // двойной щелчок - копировать // колесо - масштабировать // колесико щелкнуть - повернуть.",
                    ["StatusBarItemsOnClipboard"] = "элементы в буфере обмена",
                    ["StatNothingPlaced"] = "Ничего не размещено",
                    ["StatBoundingBox"] = "Ограничительная рамка",
                    ["StatMinimumArea"] = "Минимальная площадь",
                    ["StatSpaceEfficiency"] = "Космическая эффективность",
                    ["StatBuildings"] = "Здания",
                    ["StatBuildingsSelected"] = "Выбранные здания",
                    ["StatTiles"] = "Плитка",
                    ["StatNameNotFound"] = "Название здания не найдено",
                    ["UnknownObject"] = "Неизвестный объект",
                    ["PresetsLoaded"] = "Загружаются пресеты зданий",
                    ["ExportImageSuccessful"] = "Изображение было успешно экспортировано.",
                    ["ExportImageError"] = "Что-то пошло не так при экспорте изображения.",
                    ["ApplyColorToSelection"] = "Применить цвет",
                    ["ApplyColorToSelectionToolTip"] = "Применить цвет ко всем зданиям в текущем выборе",
                    ["ApplyPredefinedColorToSelection"] = "Применить предопределенный цвет",
                    ["ApplyPredefinedColorToSelectionToolTip"] = "Применить предопределенный цвет (если он найден) ко всем зданиям в текущем выборе.",
                    ["AvailableColors"] = "Доступные цвета",
                    ["StandardColors"] = "Предварительно определенные цвета",
                    ["RecentColors"] = "Последние использованные цвета",
                    ["Standard"] = "Стандарт",
                    ["Advanced"] = "Расширенный",
                    ["UpdateAvailableHeader"] = "Обновление доступно",
                    ["UpdateAvailablePresetMessage"] = $"Доступна обновленная версия предустановок.{Environment.NewLine}Вы хотите скачать его и перезапустить приложение?",
                    ["AdminRightsRequired"] = "Требуемые права администратора",
                    ["UpdateRequiresAdminRightsMessage"] = "Для загрузки обновления приложению необходим доступ на запись. Пожалуйста, предоставьте полномочия.",
                    ["Error"] = "Ошибка",
                    ["UpdateErrorPresetMessage"] = "Произошла ошибка при установке обновления.",
                    ["UpdateNoConnectionMessage"] = "Не смог установить соединение с интернетом.",
                    ["ColorsInLayout"] = "Цвета в макетах",
                    ["ColorsInLayoutToolTip"] = "Дважды щелкните по цвету, чтобы выбрать его.",
                    ["LoadLayoutHeader"] = "Загрузить макет",
                    ["LoadLayoutMessage"] = "Пожалуйста, вставьте JSON строку ниже.",
                    ["ClipboardContainsLayoutAsJson"] = "Буфер обмена содержит текущую верстку в виде JSON.",
                    ["OK"] = "OK",
                    ["Cancel"] = "Отмена",
                    ["SelectAll"] = "Выберите все",
                    ["Tools"] = "Инструменты",
                    ["Preferences"] = "Предпочтения",
                    ["ResetAllConfirmationMessage"] = "Вы уверены, что хотите сбросить все горячие клавиши в их настройки по умолчанию?",
                    ["ResetAll"] = "Сбросить все",
                    ["UpdateSettings"] = "Обновление Настройки",
                    ["ManageKeybindings"] = "Управление привязками к ключам",
                    ["Edit"] = "Редактирование",
                    ["Recording"] = "Запись",
                    ["RecordANewAction"] = "Записать новое действие",
                    ["Rotate"] = "Повернуть",
                    ["Copy"] = "Скопировать",
                    ["Paste"] = "Вставить",
                    ["Delete"] = "Удалить",
                    ["Duplicate"] = "Дублировать",
                    ["RotateAll"] = "Повернуть все",
                    ["DeleteObjectUnderCursor"] = "Удалить объект под курсором",
                    ["Licenses"] = "Лицензии",
                    ["ViewLicenses"] = "Просмотреть лицензии с открытым исходным кодом",
                    ["ExternalLinkConfirmationMessage"] = "При этом откроется новая вкладка в вашем веб-браузере по умолчанию. Продолжить?",
                    ["ExternalLinkMessageTitle"] = "Открытие внешней ссылки",
                    ["RecentFiles"] = "Последние Файлы",
                    ["UpdatePreferencesVersionInformation"] = "Информация о версии",
                    ["UpdatePreferencesSettings"] = "Настройки",
                    ["UpdatePreferencesCheckPreRelease"] = "Проверка на наличие предпродаж",
                    ["UpdatePreferencesUpdates"] = "Обновления",
                    ["UpdatePreferencesDownloadPresetsAndRestart"] = "Скачать Предустановки и перезапустить приложение",
                    ["UpdatePreferencesNewAppUpdateAvailable"] = "Доступно новое Обновление! Пожалуйста, ознакомьтесь с примечаниями к обновлению на сайте.",
                    ["UpdatePreferencesNoUpdates"] = "Эта версия обновлена.",
                    ["UpdatePreferencesErrorCheckingUpdates"] = "Проверка на ошибки при обновлении.",
                    ["UpdatePreferencesMoreInfoInLog"] = "Более подробная информация находится в журнале.",
                    ["UpdatePreferencesNewPresetsUpdateAvailable"] = "Доступно новое Обновление для пресетов!",
                    ["UpdatePreferencesBusyCheckUpdates"] = "Проверка обновлений ...",
                    ["UpdatePreferencesBusyDownloadPresets"] = "Загрузка предустановок ...",
                    ["NoIcon"] = "Иконки нет",
                    ["GeneralSettings"] = "Общие настройки",
                    ["GeneralPreferencesUISettings"] = "Настройки пользовательского интерфейса",
                    ["GeneralPreferencesHideInfluenceOnSelection"] = "Скрыть влияние на выбор",
                    ["GeneralPreferencesUseZoomToPoint"] = "Использовать новое поведение масштабирования",
                    ["GeneralPreferencesGridLinesColor"] = "Цвет линии сетки",
                    ["GeneralPreferencesObjectBorderLinesColor"] = "Цвет границы",
                    ["GeneralPreferencesZoomSensitivity"] = "Чувствительность к увеличению",
                    ["GeneralPreferencesInvertScrollingDirection"] = "Инвертировать направление прокрутки",
                    ["GeneralPreferencesInvertPanningDirection"] = "Инвертировать направление панорамирования",
                    ["GeneralPreferencesShowScrollbars"] = "Показать полосы прокрутки",
                    ["ColorTypeDefault"] = "По умолчанию",
                    ["ColorTypeLight"] = "Свет",
                    ["ColorTypeCustom"] = "Пользовательский",
                    ["Warning"] = "Предупреждение",
                    ["FileNotFound"] = "Файл не был найден.",
                    ["Default"] = "По умолчанию",
                    ["ItemsCopied"] = "списанные предметы",
                    ["ItemCopied"] = "скопированный элемент",
                    ["LoadingPresetsFailed"] = "Загрузка строительных предустановок не удалась.",
                    ["LoadingIconNamesFailed"] = "Загрузка имен иконок не удалась.",
                    ["FileVersionUnsupportedMessage"] = $"Попробуешь загрузить?{Environment.NewLine}Это очень вероятно приведет к неудаче или к странным вещам.",
                    ["FileVersionUnsupportedTitle"] = "Версия файла не поддерживается",
                    ["IOErrorMessage"] = "Что-то пошло не так при сохранении/загрузке файла.",
                    ["AnotherInstanceIsAlreadyRunning"] = "Другой экземпляр приложения уже запущен.",
                    ["ErrorUpgradingSettings"] = "Файл настроек поврежден. Мы должны сбросить ваши настройки.",
                    ["FileVersionMismatchMessage"] = $"Попробуйте загрузить?{Environment.NewLine}Скорее всего, это приведет к ошибке или странным вещам.",
                    ["FileVersionMismatchTItle"] = "Несоответствие версии файла",
                    ["LayoutLoadingError"] = "Что-то пошло не так во время загрузки макета.",
                    ["LayoutSavingError"] = "Что-то пошло не так во время сохранения макета.",
                    ["InvalidBuildingConfiguration"] = "Неверная конфигурация здания.",
                    ["MergeRoads"] = "Oбъединить дороги",
                    ["LoadingTreeLocalizationFailed"] = "Загрузка локализации не удалась.",
                    ["Undo"] = "Отменить",
                    ["Redo"] = "Redo",
                    ["LayoutSettings"] = "Настройки макета",
                    ["View"] = "Посмотреть",
                    ["SaveUnsavedChanges"] = "Сохранить несохраненные изменения?",
                    ["UnsavedChanged"] = "Есть неспасенные изменения",
                    ["UnsavedChangedBeforeCrash"] = "Программа аварийно завершена, но есть несохраненные изменения",
                    ["ColorPresetsVersion"] = "Версия предустановок цвета",
                    ["TreeLocalizationVersion"] = "Версия локализации деревьев",
                    ["ShowHarborBlockedArea"] = "Показать районы гавани",
                    ["ShowPanorama"] = "Показать панораму",
                    ["GeneralPreferencesRecentFilesSettings"] = "Последние Файлы",
                    ["GeneralPreferencesMaxRecentFiles"] = "Максимальное количество файлов",
                    ["Clear"] = "Удалить",
                    ["EnableDebugMode"] = "Включить режим отладки",
                    ["GeneralPreferencesIncludeRoadsInStatisticCalculation"] = "Включить дороги в статистику",
                    ["ShowMultipleInstanceWarning"] = "Показывать предупреждение, если открыто несколько экземпляров",
                    ["WarningMultipleInstancesAreRunning"] = "Есть обновление, но приложение открыто несколько раз. Закройте все экземпляры и запустите только 1 экземпляр, чтобы обновление сработало.",
                    ["SelectAllSameIdentifier"] = "Выберите все здания одного типа",
                    ["RenderVersionOnExportedImage"] = "Версия рендеринга на экспортированном изображении"
                },
            };

            Instance._commons = commons;
            Instance.Commons_SelectedLanguageChanged(null, null);
            commons.SelectedLanguageChanged += Instance.Commons_SelectedLanguageChanged;
        }

        private void Commons_SelectedLanguageChanged(object sender, EventArgs e)
        {
            OnPropertyChanged(nameof(Translations));
            OnPropertyChanged(nameof(InstanceTranslations));
        }

        public string GetLocalization(string valueToTranslate)
        {
            return GetLocalization(valueToTranslate, null);
        }

        public string GetLocalization(string valueToTranslate, string languageCode = null)
        {
            if (string.IsNullOrWhiteSpace(languageCode))
            {
                languageCode = _commons.CurrentLanguageCode;
            }

            // use english as default language
            if (!_commons.LanguageCodeMap.ContainsValue(languageCode) || !TranslationsRaw.ContainsKey(languageCode))
            {
                _logger.Trace($"language ({languageCode}) has no translations or is not supported");
                languageCode = "eng";
            }

            try
            {
                if (TranslationsRaw[languageCode].TryGetValue(valueToTranslate.Replace(" ", string.Empty), out string foundLocalization))
                {
                    return foundLocalization;
                }
                else
                {
                    _logger.Trace($"try to set localization to english for: \"{valueToTranslate}\"");
                    if (TranslationsRaw["eng"].TryGetValue(valueToTranslate.Replace(" ", string.Empty), out string engLocalization))
                    {
                        return engLocalization;
                    }
                    else
                    {
                        _logger.Trace($"found no localization (\"eng\") and ({languageCode}) for: \"{valueToTranslate}\"");
                        return valueToTranslate;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex, $"error getting localization ({languageCode}) for: \"{valueToTranslate}\"");
                return valueToTranslate;
            }
        }
    }
}


